Project management software assists project managers in developing plans, assigning resources to tasks, tracking progress, managing budgets and analyzing workloads. At the initiation phase of a project, project managers often begin their planning by breaking their schedules down into a set of high-level phases. The timeframe associated with these phases are often associated with key dates or milestones that have been passed down to them from their organization or are associated with commitments to/from external parties. These dates are usually determined very early on, often before most other details in a project are established. Once project managers have a high-level understanding of the overall timeline, they may then proceed to identify more specific work items underneath each phase that will help complete that phase's objectives. This method is considered a top-down approach to project management. Alternatively, a bottom-up approach involves first identifying all the detail work items in the project, then creating logical groupings to identify when and how long each group of tasks will take to execute.
Project management software helps project managers in organizing their schedule through the ability to create task hierarchies. Project phases may be modeled as summary tasks, under which a list of related tasks or subtasks may exist. Together, the subtasks help accomplish the high-level objectives of the phases.
According to some project management applications, summary tasks are roll-ups of their subtasks. The dates and durations of summary tasks are calculated by the software. A summary task's start date is the earliest start of its sub-tasks, the finish date is the latest finish date of its subtasks, and its duration is the total span of its subtasks. Typically, a summary task may not start before its earliest subtask, nor finish after its latest subtask. Because summary tasks are always calculated based on the details of their subtasks, it is difficult to schedule a project phase at a specific date before the details of its subtasks have been fully defined.
Another limitation with some typical management applications is that there is not a way to maintain key dates which project managers may not have control over (e.g., a timeframe budget for a particular phase in a project as approved by an organization; deadlines as required by a project customer). When a task becomes the summary task for a group of subtasks, its dates may be overwritten by the calculated roll-up of the subtasks. If the dates of a subtask are altered, the dates associated with the summary task follow suit.
In addition, often a project manager is given a specific time budget for completing a phase, and the work items within that phase may not initially fully occupy the approved timeframe. In case of slippages, to increase the scope of the project if time allows, or for various other reasons, a project manager may want to utilize the remaining left over time as a buffer. Project managers may be prevented from modeling this buffer time in a project if the summary tasks automatically lengthen and shorten with the subtasks. Likewise, there may not be an easy way to show if a subtask has slipped past its original planned date of the summary phase. If a subtask's finish date is delayed, the associated summary task duration lengthens accordingly.
It is with respect to these considerations and others that the various embodiments of the present invention have been made.